Skip to content

Patch fault-injector errors#2652

Merged
fabianmurariu merged 18 commits into
db_v4from
db_v4_/fix-fault-injector
Jun 23, 2026
Merged

Patch fault-injector errors#2652
fabianmurariu merged 18 commits into
db_v4from
db_v4_/fix-fault-injector

Conversation

@fabubaker

@fabubaker fabubaker commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Fixes all fault-injector/LazyFS bugs that show up on CI.

Quick summary of changes:

  • Call sync_all on the .meta file.
  • Use atomic rename when modifying the Config file.
  • Run a clean shutdown only if the DB was in Running state.
  • Update the WAL position correctly when replaying a WAL that has no entries.

Why are the changes needed?

These changes should fix any durability bugs revealed by LazyFS.

Does this PR introduce any user-facing change? If yes is this documented?

No.

How was this patch tested?

Running the fault-injector CI on pometry-storage: https://github.com/Pometry/pometry-storage/pull/304

Are there any further changes required?

No.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Rust Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2.

Benchmark suite Current: 6898b0a Previous: 9823ef7 Ratio
lotr_graph/num_edges 4 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph/num_nodes 4 ns/iter (± 0) 1 ns/iter (± 0) 4
lotr_graph/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph/graph_latest 3 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph_materialise/materialize 8087432 ns/iter (± 27851) 1564816 ns/iter (± 35303) 5.17
lotr_graph_window_100/num_nodes 14 ns/iter (± 0) 5 ns/iter (± 0) 2.80
lotr_graph_window_100_materialise/materialize 8504766 ns/iter (± 79244) 1669150 ns/iter (± 10700) 5.10
lotr_graph_window_10/has_node_existing 141 ns/iter (± 10) 62 ns/iter (± 11) 2.27
lotr_graph_window_10_materialise/materialize 3335080 ns/iter (± 26891) 971980 ns/iter (± 4278) 3.43
lotr_graph_subgraph_10pc/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph_subgraph_10pc_materialise/materialize 2004411 ns/iter (± 15556) 334634 ns/iter (± 1287) 5.99
lotr_graph_subgraph_10pc_windowed/has_node_existing 145 ns/iter (± 9) 62 ns/iter (± 14) 2.34
lotr_graph_subgraph_10pc_windowed_materialise/materialize 1209389 ns/iter (± 8461) 230399 ns/iter (± 2617) 5.25
lotr_graph_window_50_layered/num_edges_temporal 151022 ns/iter (± 3650) 70121 ns/iter (± 7586) 2.15
lotr_graph_window_50_layered/has_node_existing 403 ns/iter (± 23) 129 ns/iter (± 12) 3.12
lotr_graph_window_50_layered/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph_window_50_layered/max_neighbour_degree 778376 ns/iter (± 9202) 386651 ns/iter (± 3853) 2.01
lotr_graph_window_50_layered/graph_latest 88704 ns/iter (± 2749) 36649 ns/iter (± 916) 2.42
lotr_graph_window_50_layered_materialise/materialize 30447338 ns/iter (± 88171) 3488825 ns/iter (± 24948) 8.73
lotr_graph_persistent_window_50_layered/num_edges_temporal 662229 ns/iter (± 7298) 192686 ns/iter (± 1569) 3.44
lotr_graph_persistent_window_50_layered/has_node_existing 452 ns/iter (± 412) 174 ns/iter (± 83) 2.60
lotr_graph_persistent_window_50_layered/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph_persistent_window_50_layered/iterate_exploded_edges 3519967 ns/iter (± 76293) 1659940 ns/iter (± 19402) 2.12
lotr_graph_persistent_window_50_layered/graph_latest 147470 ns/iter (± 4595) 57549 ns/iter (± 4809) 2.56
lotr_graph_persistent_window_50_layered_materialise/materialize 53219956 ns/iter (± 154777) 5298035 ns/iter (± 147912) 10.05

This comment was automatically generated by workflow using github-action-benchmark.

@ljeub-pometry ljeub-pometry left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@fabianmurariu
fabianmurariu merged commit f67d561 into db_v4 Jun 23, 2026
34 checks passed
@fabianmurariu
fabianmurariu deleted the db_v4_/fix-fault-injector branch June 23, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants